function newInstanceOf(leftValue, rightValue) {
    if (typeof leftValue !== 'object' || rightValue == null) {
        return false;
    }

    let rightProto = rightValue.prototype;
    leftValue = leftValue.__proto__;

    while (true) {
        if (leftValue === null) return false;
        if (leftValue === rightProto) return true;
        leftValue = leftValue.__proto__;
    }
}

// let a,B
// a.__proto__ = B.prototype
// a =a.__proto__
